import request from '@/utils/request'
/**
 * 获取所有的模板
 * @returns 所有的模板
 */
export function getAllTemplates() {
  return request({
    url: 'form/templates',
    method: 'get'
  })
}
/**
 * 获取模板的内容
 * @param {Number} id 要获取的模板ID
 * @returns {Object} 模板
 */
export function getTemplate(id) {
  return request({
    url: `form/templates/${id}`,
    method: 'get'
  })
}

/**
 * 创建新的模板
 * @param {Object} template 创建的模板信息
 * @returns 创建成功信息
 */
export function saveTemplate(template) {
  return request({
    url: 'form/templates',
    method: 'post',
    data: template
  })
}
/**
 * 保存在模板中填写的内容
 * @param {Number} id 模板的ID
 * @param {*} outline 模板中填写的内容
 * @returns 保存成功信息
 */
export function saveOutline(id, outline) {
  return request({
    url: `form/templates/${id}/outlines`,
    method: 'post',
    data: outline
  })
}

export function getAllOutline(queryList) {
  return request({
    url: 'form/outlines',
    method: 'get',
    params: queryList
  })
}

export function getOutlineWithData(id) {
  return request({
    url: `form/outlines/${id}/with-data`,
    method: 'get'
  })
}
/**
 * 逻辑删除模板
 * @param {Number} id 模板ID
 * @returns 删除成功
 */
export function deleteTemplate(id) {
  return request({
    url: `form/templates/${id}`,
    method: 'delete'
  })
}

export function deleteOutline(id) {
  return request({
    url: `form/outlines/${id}`,
    method: 'delete'
  })
}

export function onOutlineApply(id) {
  return request({
    url: `form/outlines/${id}`,
    method: 'put'
  })
}
